<!DOCTYPE html>
<html>
<head>
    

    

    
<!-- Baidu Tongji -->
<script>var _hmt = _hmt || []</script>
<script async src="//hm.baidu.com/hm.js?a7c05ce530152d9866930ef4850ee566"></script>
<!-- End Baidu Tongji -->




    <meta charset="utf-8">
    
    
    
    <title>Redis持久化方案 | 神奇的鸭鸭の码农库 | 新知识要不断的总结记录成笔记，要多写，多画，能够清晰透彻的将知识讲给别人听，才是达到理解的层次。</title>
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    
    <meta name="theme-color" content="#765959">
    
    
    <meta name="keywords" content="缓存">
    <meta name="description" content="RDB持久化RDB是Redis默认采用的持久化方式。RDB方式的持久化是通过快照(snapshotting)完成的，当符合一定条件时Redis会自动将内存中的数据进行快照并持久化到硬盘中。 持久化条件配置12345678# redis.conf 默认配置# save开头的一行就是持久化配置，可以配置多个条件(每行配置一个条件)，每个条件之间是&quot;或&quot;的关系# 表示15分钟(900秒)内至少1个键被更">
<meta name="keywords" content="缓存">
<meta property="og:type" content="article">
<meta property="og:title" content="Redis持久化方案">
<meta property="og:url" content="http://magic_duck.oschina.io/2017/09/06/redis4.4.0_primary_03/index.html">
<meta property="og:site_name" content="神奇的鸭鸭の码农库">
<meta property="og:description" content="RDB持久化RDB是Redis默认采用的持久化方式。RDB方式的持久化是通过快照(snapshotting)完成的，当符合一定条件时Redis会自动将内存中的数据进行快照并持久化到硬盘中。 持久化条件配置12345678# redis.conf 默认配置# save开头的一行就是持久化配置，可以配置多个条件(每行配置一个条件)，每个条件之间是&quot;或&quot;的关系# 表示15分钟(900秒)内至少1个键被更">
<meta property="og:updated_time" content="2017-12-05T09:59:11.700Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Redis持久化方案">
<meta name="twitter:description" content="RDB持久化RDB是Redis默认采用的持久化方式。RDB方式的持久化是通过快照(snapshotting)完成的，当符合一定条件时Redis会自动将内存中的数据进行快照并持久化到硬盘中。 持久化条件配置12345678# redis.conf 默认配置# save开头的一行就是持久化配置，可以配置多个条件(每行配置一个条件)，每个条件之间是&quot;或&quot;的关系# 表示15分钟(900秒)内至少1个键被更">
    
    <link rel="shortcut icon" href="/favicon.ico">
    <link rel="stylesheet" href="/css/style.css?v=1.4.3">
    <script>window.lazyScripts=[]</script>
</head>

<body>
    <div id="loading" class="active"></div>

    <aside id="menu" class="hide" >
  <div class="inner flex-row-vertical">
    <a href="javascript:;" class="header-icon waves-effect waves-circle waves-light" id="menu-off">
        <i class="icon icon-lg icon-close"></i>
    </a>
    <div class="brand-wrap">
      <div class="brand">
        <a href="/" class="avatar waves-effect waves-circle waves-light">
          <img src="/img/avatar.jpg">
        </a>
        <hgroup class="introduce">
          <h5 class="nickname">神奇的鸭鸭</h5>
          <a href="mailto:702038338@qq.com" title="702038338@qq.com" class="mail">702038338@qq.com</a>
        </hgroup>
      </div>
    </div>
    <div class="scroll-wrap flex-col">
      <ul class="nav">
        
            <li class="waves-block waves-effect">
              <a href="/"  >
                <i class="icon icon-lg icon-home"></i>
                主页
              </a>
            </li>
        
            <li class="waves-block waves-effect">
              <a href="/archives"  >
                <i class="icon icon-lg icon-archives"></i>
                归档
              </a>
            </li>
        
            <li class="waves-block waves-effect">
              <a href="/tags"  >
                <i class="icon icon-lg icon-tags"></i>
                标签
              </a>
            </li>
        
            <li class="waves-block waves-effect">
              <a href="https://git.oschina.net/magic_duck" target="_blank" >
                <i class="icon icon-lg icon-gg-circle"></i>
                码云
              </a>
            </li>
        
            <li class="waves-block waves-effect">
              <a href="https://www.zhihu.com/people/shen-qi-de-ya-ya" target="_blank" >
                <i class="icon icon-lg icon-twitter"></i>
                知乎
              </a>
            </li>
        
            <li class="waves-block waves-effect">
              <a href="/404.html"  >
                <i class="icon icon-lg icon-link"></i>
                404页面测试
              </a>
            </li>
        
      </ul>
    </div>
  </div>
</aside>

    <main id="main">
        <header class="top-header" id="header">
    <div class="flex-row">
        <a href="javascript:;" class="header-icon waves-effect waves-circle waves-light on" id="menu-toggle">
          <i class="icon icon-lg icon-navicon"></i>
        </a>
        <div class="flex-col header-title ellipsis">Redis持久化方案</div>
        
        <div class="search-wrap" id="search-wrap">
            <a href="javascript:;" class="header-icon waves-effect waves-circle waves-light" id="back">
                <i class="icon icon-lg icon-chevron-left"></i>
            </a>
            <input type="text" id="key" class="search-input" autocomplete="off" placeholder="输入感兴趣的关键字">
            <a href="javascript:;" class="header-icon waves-effect waves-circle waves-light" id="search">
                <i class="icon icon-lg icon-search"></i>
            </a>
        </div>
        
        
        <a href="javascript:;" class="header-icon waves-effect waves-circle waves-light" id="menuShare">
            <i class="icon icon-lg icon-share-alt"></i>
        </a>
        
    </div>
</header>
<header class="content-header post-header">

    <div class="container fade-scale">
        <h1 class="title">Redis持久化方案</h1>
        <h5 class="subtitle">
            
                <time datetime="2017-09-05T19:00:00.000Z" itemprop="datePublished" class="page-time">
  2017-09-06
</time>


            
        </h5>
    </div>

    

</header>


<div class="container body-wrap">
    
    <aside class="post-widget">
        <nav class="post-toc-wrap" id="post-toc">
            <h4>TOC</h4>
            <ol class="post-toc"><li class="post-toc-item post-toc-level-2"><a class="post-toc-link" href="#RDB持久化"><span class="post-toc-number">1.</span> <span class="post-toc-text">RDB持久化</span></a><ol class="post-toc-child"><li class="post-toc-item post-toc-level-3"><a class="post-toc-link" href="#持久化条件配置"><span class="post-toc-number">1.1.</span> <span class="post-toc-text">持久化条件配置</span></a></li><li class="post-toc-item post-toc-level-3"><a class="post-toc-link" href="#配置文件目录"><span class="post-toc-number">1.2.</span> <span class="post-toc-text">配置文件目录</span></a></li><li class="post-toc-item post-toc-level-3"><a class="post-toc-link" href="#配置文件的名称"><span class="post-toc-number">1.3.</span> <span class="post-toc-text">配置文件的名称</span></a></li><li class="post-toc-item post-toc-level-3"><a class="post-toc-link" href="#存在问题"><span class="post-toc-number">1.4.</span> <span class="post-toc-text">存在问题</span></a></li></ol></li><li class="post-toc-item post-toc-level-2"><a class="post-toc-link" href="#AOF持久化"><span class="post-toc-number">2.</span> <span class="post-toc-text">AOF持久化</span></a><ol class="post-toc-child"><li class="post-toc-item post-toc-level-3"><a class="post-toc-link" href="#持久化条件配置-1"><span class="post-toc-number">2.1.</span> <span class="post-toc-text">持久化条件配置</span></a></li><li class="post-toc-item post-toc-level-3"><a class="post-toc-link" href="#配置文件目录-1"><span class="post-toc-number">2.2.</span> <span class="post-toc-text">配置文件目录</span></a></li><li class="post-toc-item post-toc-level-3"><a class="post-toc-link" href="#配置文件的名称-1"><span class="post-toc-number">2.3.</span> <span class="post-toc-text">配置文件的名称</span></a></li></ol></li><li class="post-toc-item post-toc-level-2"><a class="post-toc-link" href="#如何选择"><span class="post-toc-number">3.</span> <span class="post-toc-text">如何选择</span></a></li><li class="post-toc-item post-toc-level-2"><a class="post-toc-link" href="#持久化方案对比"><span class="post-toc-number">4.</span> <span class="post-toc-text">持久化方案对比</span></a><ol class="post-toc-child"><li class="post-toc-item post-toc-level-3"><a class="post-toc-link" href="#二者优缺点"><span class="post-toc-number">4.1.</span> <span class="post-toc-text">二者优缺点</span></a></li><li class="post-toc-item post-toc-level-3"><a class="post-toc-link" href="#常用配置"><span class="post-toc-number">4.2.</span> <span class="post-toc-text">常用配置</span></a></li><li class="post-toc-item post-toc-level-3"><a class="post-toc-link" href="#参考资料"><span class="post-toc-number">4.3.</span> <span class="post-toc-text">参考资料</span></a></li></ol></li></ol>
        </nav>
    </aside>
    
<article id="post-redis4.4.0_primary_03"
  class="post-article article-type-post fade" itemprop="blogPost">

    <div class="post-card">
        <h1 class="post-card-title">Redis持久化方案</h1>
        <div class="post-meta">
            <time class="post-time" title="2017年09月06日 3:00" datetime="2017-09-05T19:00:00.000Z"  itemprop="datePublished">2017-09-06</time>

            


            
<span id="busuanzi_container_page_pv" title="文章总阅读量" style='display:none'>
    <i class="icon icon-eye icon-pr"></i><span id="busuanzi_value_page_pv"></span>
</span>


            

        </div>
        <div class="post-content" id="post-content" itemprop="postContent">
            <h2 id="RDB持久化"><a href="#RDB持久化" class="headerlink" title="RDB持久化"></a>RDB持久化</h2><p>RDB是Redis默认采用的持久化方式。RDB方式的持久化是通过<strong>快照(snapshotting)</strong>完成的，当符合一定条件时Redis会自动将内存中的数据进行快照并持久化到硬盘中。</p>
<h3 id="持久化条件配置"><a href="#持久化条件配置" class="headerlink" title="持久化条件配置"></a>持久化条件配置</h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div></pre></td><td class="code"><pre><div class="line"><span class="meta">#</span> redis.conf 默认配置</div><div class="line"><span class="meta">#</span> save开头的一行就是持久化配置，可以配置多个条件(每行配置一个条件)，每个条件之间是"或"的关系</div><div class="line"><span class="meta">#</span> 表示15分钟(900秒)内至少1个键被更改则进行快照</div><div class="line">save 900 1 </div><div class="line"><span class="meta">#</span> 表示5分钟(300秒)内至少10个键被更改则进行快照</div><div class="line">save 300 10</div><div class="line"><span class="meta">#</span> 表示1分钟(30秒)内至少10000个键被更改则进行快照</div><div class="line">save 60 10000</div></pre></td></tr></table></figure>
<h3 id="配置文件目录"><a href="#配置文件目录" class="headerlink" title="配置文件目录"></a>配置文件目录</h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div></pre></td><td class="code"><pre><div class="line"><span class="meta">#</span> redis.conf 默认配置</div><div class="line"><span class="meta">#</span> 配置dir指定rdb快照文件的位置 这里指定的是当前目录下</div><div class="line"><span class="meta">#</span> Note that you must specify a directory here, not a file name.</div><div class="line">dir ./</div></pre></td></tr></table></figure>
<h3 id="配置文件的名称"><a href="#配置文件的名称" class="headerlink" title="配置文件的名称"></a>配置文件的名称</h3><p>设置dbfilename指定rdb快照文件的名称<br><figure class="highlight shell"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div></pre></td><td class="code"><pre><div class="line"><span class="meta">#</span> redis.conf 默认配置</div><div class="line"><span class="meta">#</span> The filename where to dump the DB</div><div class="line">dbfilename dump.rdb</div></pre></td></tr></table></figure></p>
<p>Redis启动后会读取RDB快照文件，将数据从硬盘载入到内存。根据数据量大小与结构和服务器性能不同，这个时间也不同。通常将记录一千万个字符串类型键、大小为1GB的快照文件载入到内存中需要花费20~30秒钟。</p>
<h3 id="存在问题"><a href="#存在问题" class="headerlink" title="存在问题"></a>存在问题</h3><p>通过RDB方式实现持久化，一旦Redis异常退出，就会丢失最后一次快照以后更改的所有数据。这就需要开发者根据具体的应用场合，通过组合设置自动快照条件的方式来将可能发生的数据损失控制在能够接受的范围。</p>
<p><strong>如果数据很重要以至于无法承受任何损失，则可以考虑使用AOF方式进行持久化。</strong></p>
<hr>
<h2 id="AOF持久化"><a href="#AOF持久化" class="headerlink" title="AOF持久化"></a>AOF持久化</h2><p>默认情况下Redis没有开启AOF(append only file)方式的持久化</p>
<h3 id="持久化条件配置-1"><a href="#持久化条件配置-1" class="headerlink" title="持久化条件配置"></a>持久化条件配置</h3><p>可以通过修改redis.conf配置文件中的appendonly参数开启：<br><figure class="highlight shell"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">appendonly yes</div></pre></td></tr></table></figure></p>
<h3 id="配置文件目录-1"><a href="#配置文件目录-1" class="headerlink" title="配置文件目录"></a>配置文件目录</h3><p>AOF文件的保存位置和RDB文件的位置相同，都是通过dir参数设置的：<br><figure class="highlight shell"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line"><span class="meta">#</span> Note that you must specify a directory here, not a file name.</div><div class="line">dir ./</div></pre></td></tr></table></figure></p>
<h3 id="配置文件的名称-1"><a href="#配置文件的名称-1" class="headerlink" title="配置文件的名称"></a>配置文件的名称</h3><p>默认的文件名是appendonly.aof，可以通过appendfilename参数修改：<br><figure class="highlight shell"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line"><span class="meta">#</span> The name of the append only file (default: "appendonly.aof")</div><div class="line">appendfilename "appendonly.aof"</div></pre></td></tr></table></figure></p>
<h2 id="如何选择"><a href="#如何选择" class="headerlink" title="如何选择"></a>如何选择</h2><p>二者选择的标准，就是看系统是愿意牺牲一些性能，换取更高的缓存一致性(AOF)，还是愿意写操作频繁的时候，不启用备份来换取更高的性能，待手动运行save的时候，再做备份(RDB)。rdb这个就更有些 eventually consistent的意思了。</p>
<hr>
<p>来源：redis持久化方法对比分析：<a href="http://www.cnblogs.com/Fairy-02-11/p/6182478.html" target="_blank" rel="external">http://www.cnblogs.com/Fairy-02-11/p/6182478.html</a></p>
<h2 id="持久化方案对比"><a href="#持久化方案对比" class="headerlink" title="持久化方案对比"></a>持久化方案对比</h2><h3 id="二者优缺点"><a href="#二者优缺点" class="headerlink" title="二者优缺点"></a>二者优缺点</h3><p><strong>RDB存在哪些优势：</strong></p>
<ul>
<li>一旦采用该方式，那么你的整个Redis数据库将只包含一个文件，这对于文件备份而言是非常完美的。比如，你可能打算每个小时归档一次最近24小时的数据，同时还要每天归档一次最近30天的数据。通过这样的备份策略，一旦系统出现灾难性故障，我们可以非常容易的进行恢复。</li>
<li>对于灾难恢复而言，RDB是非常不错的选择。因为我们可以非常轻松的将一个单独的文件压缩后再转移到其它存储介质上。</li>
<li>性能最大化。对于Redis的服务进程而言，在开始持久化时，它唯一需要做的只是fork出子进程，之后再由子进程完成这些持久化的工作，这样就可以极大的避免服务进程执行IO操作了。</li>
<li>相比于AOF机制，如果数据集很大，RDB的启动效率会更高。</li>
</ul>
<p><strong>RDB存在哪些劣势：</strong></p>
<ul>
<li>如果你想保证数据的高可用性，即最大限度的避免数据丢失，那么RDB将不是一个很好的选择。因为系统一旦在定时持久化之前出现宕机现象，此前没有来得及写入磁盘的数据都将丢失。</li>
<li>由于RDB是通过fork子进程来协助完成数据持久化工作的，因此，如果当数据集较大时，可能会导致整个服务器停止服务几百毫秒，甚至是1秒钟。</li>
</ul>
<p><strong>AOF存在哪些优势</strong></p>
<ul>
<li>该机制可以带来更高的数据安全性，即数据持久性。Redis中提供了3中同步策略，即每秒同步、每修改同步和不同步。事实上，每秒同步也是异步完成的，其效率也是非常高的，所差的是一旦系统出现宕机现象，那么这一秒钟之内修改的数据将会丢失。而每修改同步，我们可以将其视为同步持久化，即每次发生的数据变化都会被立即记录到磁盘中。可以预见，这种方式在效率上是最低的。至于无同步，无需多言，我想大家都能正确的理解它。</li>
<li>由于该机制对日志文件的写入操作采用的是append模式，因此在写入过程中即使出现宕机现象，也不会破坏日志文件中已经存在的内容。然而如果我们本次操作只是写入了一半数据就出现了系统崩溃问题，不用担心，在Redis下一次启动之前，我们可以通过redis-check-aof工具来帮助我们解决数据一致性的问题。</li>
<li>如果日志过大，Redis可以自动启用rewrite机制。即Redis以append模式不断的将修改数据写入到老的磁盘文件中，同时Redis还会创建一个新的文件用于记录此期间有哪些修改命令被执行。因此在进行rewrite切换时可以更好的保证数据安全性。</li>
<li>AOF包含一个格式清晰、易于理解的日志文件用于记录所有的修改操作。事实上，我们也可以通过该文件完成数据的重建。</li>
</ul>
<p><strong>AOF存在哪些劣势</strong></p>
<ul>
<li>对于相同数量的数据集而言，AOF文件通常要大于RDB文件。RDB 在恢复大数据集时的速度比 AOF 的恢复速度要快。</li>
<li>根据同步策略的不同，AOF在运行效率上往往会慢于RDB。总之，每秒同步策略的效率是比较高的，同步禁用策略的效率和RDB一样高效。</li>
</ul>
<h3 id="常用配置"><a href="#常用配置" class="headerlink" title="常用配置"></a>常用配置</h3><p><strong>RDB持久化配置</strong><br><figure class="highlight shell"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div></pre></td><td class="code"><pre><div class="line"><span class="meta">#</span> Redis会将数据集的快照dump到dump.rdb文件中。此外，我们也可以通过配置文件来修改Redis服务器dump快照的频率，在打开6379.conf文件之后，我们搜索save，可以看到下面的配置信息：</div><div class="line">save 900 1 # 在900秒(15分钟)之后，如果至少有1个key发生变化，则dump内存快照。</div><div class="line">save 300 10 # 在300秒(5分钟)之后，如果至少有10个key发生变化，则dump内存快照。</div><div class="line">save 60 10000 # 在60秒(1分钟)之后，如果至少有10000个key发生变化，则dump内存快照。</div></pre></td></tr></table></figure></p>
<p><strong>AOF持久化配置</strong><br><figure class="highlight shell"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div></pre></td><td class="code"><pre><div class="line"><span class="meta">#</span> 在Redis的配置文件中存在三种同步方式，它们分别是：</div><div class="line">appendfsync always # 每次有数据修改发生时都会写入AOF文件。</div><div class="line">appendfsync everysec # 每秒钟同步一次，该策略为AOF的缺省策略。</div><div class="line">appendfsync no # 从不同步。高效但是数据不会被持久化。</div></pre></td></tr></table></figure></p>
<h3 id="参考资料"><a href="#参考资料" class="headerlink" title="参考资料"></a>参考资料</h3><p>redis的rdb和aof持久化的区别：<a href="http://blog.csdn.net/jackpk/article/details/30073097" target="_blank" rel="external">http://blog.csdn.net/jackpk/article/details/30073097</a><br>Redis教程(十)：持久化详解：<a href="http://www.jb51.net/article/65264.htm" target="_blank" rel="external">http://www.jb51.net/article/65264.htm</a></p>

        </div>

        <blockquote class="post-copyright">
    <div class="content">
        
<span class="post-time">
    最后更新时间：<time datetime="2017-12-05T09:59:11.700Z" itemprop="dateUpdated">2017年12月5日 17:59</time>
</span><br>


        如要转载请注明出处：<a href="/2017/09/06/redis4.4.0_primary_03/" target="_blank" rel="external">http://magic_duck.oschina.io/2017/09/06/redis4.4.0_primary_03/</a>
    </div>
    <footer>
        <a href="http://magic_duck.oschina.io">
            <img src="/img/avatar.jpg" alt="神奇的鸭鸭">
            神奇的鸭鸭
        </a>
    </footer>
</blockquote>

        
<div class="page-reward">
    <a id="rewardBtn" href="javascript:;" class="page-reward-btn waves-effect waves-circle waves-light">赏</a>
</div>



        <div class="post-footer">
            
	<ul class="article-tag-list"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/缓存/">缓存</a></li></ul>


            
<div class="page-share-wrap">
    

<div class="page-share" id="pageShare">
    <ul class="reset share-icons">
      <li>
        <a class="weibo share-sns" target="_blank" href="http://service.weibo.com/share/share.php?url=http://magic_duck.oschina.io/2017/09/06/redis4.4.0_primary_03/&title=《Redis持久化方案》 — 神奇的鸭鸭の码农库&pic=http://magic_duck.oschina.io/img/avatar.jpg" data-title="微博">
          <i class="icon icon-weibo"></i>
        </a>
      </li>
      <li>
        <a class="weixin share-sns wxFab" href="javascript:;" data-title="微信">
          <i class="icon icon-weixin"></i>
        </a>
      </li>
      <li>
        <a class="qq share-sns" target="_blank" href="http://connect.qq.com/widget/shareqq/index.html?url=http://magic_duck.oschina.io/2017/09/06/redis4.4.0_primary_03/&title=《Redis持久化方案》 — 神奇的鸭鸭の码农库&source=" data-title=" QQ">
          <i class="icon icon-qq"></i>
        </a>
      </li>
      <li>
        <a class="facebook share-sns" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=http://magic_duck.oschina.io/2017/09/06/redis4.4.0_primary_03/" data-title=" Facebook">
          <i class="icon icon-facebook"></i>
        </a>
      </li>
      <li>
        <a class="twitter share-sns" target="_blank" href="https://twitter.com/intent/tweet?text=《Redis持久化方案》 — 神奇的鸭鸭の码农库&url=http://magic_duck.oschina.io/2017/09/06/redis4.4.0_primary_03/&via=http://magic_duck.oschina.io" data-title=" Twitter">
          <i class="icon icon-twitter"></i>
        </a>
      </li>
      <li>
        <a class="google share-sns" target="_blank" href="https://plus.google.com/share?url=http://magic_duck.oschina.io/2017/09/06/redis4.4.0_primary_03/" data-title=" Google+">
          <i class="icon icon-google-plus"></i>
        </a>
      </li>
    </ul>
 </div>



    <a href="javascript:;" id="shareFab" class="page-share-fab waves-effect waves-circle">
        <i class="icon icon-share-alt icon-lg"></i>
    </a>
</div>



        </div>
    </div>

    
<nav class="post-nav flex-row flex-justify-between">
  
    <div class="waves-block waves-effect prev">
      <a href="/2017/09/06/redis4.4.0_primary_04/" id="post-prev" class="post-nav-link">
        <div class="tips"><i class="icon icon-angle-left icon-lg icon-pr"></i> Prev</div>
        <h4 class="title">Redis的主从复制</h4>
      </a>
    </div>
  

  
    <div class="waves-block waves-effect next">
      <a href="/2017/09/06/redis4.4.0_primary_02/" id="post-next" class="post-nav-link">
        <div class="tips">Next <i class="icon icon-angle-right icon-lg icon-pl"></i></div>
        <h4 class="title">Redis数据类型和命令</h4>
      </a>
    </div>
  
</nav>



    







</article>

<div id="reward" class="page-modal reward-lay">
    <a class="close" href="javascript:;"><i class="icon icon-close"></i></a>
    <h3 class="reward-title">
        <i class="icon icon-quote-left"></i>
        我只要一角钱~ ~
        <i class="icon icon-quote-right"></i>
    </h3>
    <ul class="reward-items">
        
        <li>
            <img src="/img/wechat.png" title="微信打赏二维码" alt="微信打赏二维码">
            <p>微信</p>
        </li>
        

        
        <li>
            <img src="/img/alipay.jpg" title="支付宝打赏二维码" alt="支付宝打赏二维码">
            <p>支付宝</p>
        </li>
        
    </ul>
</div>



</div>

        <footer class="footer">
    <div class="top">
        
<p>
    <span id="busuanzi_container_site_uv" style='display:none'>
        站点总访客数：<span id="busuanzi_value_site_uv"></span>
    </span>
    <span id="busuanzi_container_site_pv" style='display:none'>
        站点总访问量：<span id="busuanzi_value_site_pv"></span>
    </span>
</p>


        <p>
            <span><a href="" target="_blank" class="rss" title="rss"><i class="icon icon-lg icon-rss"></i></a></span>
            <span>博客内容遵循 <a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" target="_blank">知识共享 署名 - 非商业性 - 相同方式共享 4.0协议</a></span>
        </p>
    </div>
    <div class="bottom">
        <p>
            <span>Power by <a href="http://hexo.io/" target="_blank">Hexo</a> Theme <a href="https://git.oschina.net/z77z" target="_blank">邹海清</a></span>
            <span>神奇的鸭鸭の码农库 &copy; 2017</span>
        </p>
    </div>
</footer>

    </main>
    <div class="mask" id="mask"></div>
<a href="javascript:;" id="gotop" class="waves-effect waves-circle waves-light"><span class="icon icon-lg icon-chevron-up"></span></a>



<div class="global-share" id="globalShare">
    <ul class="reset share-icons">
      <li>
        <a class="weibo share-sns" target="_blank" href="http://service.weibo.com/share/share.php?url=http://magic_duck.oschina.io/2017/09/06/redis4.4.0_primary_03/&title=《Redis持久化方案》 — 神奇的鸭鸭の码农库&pic=http://magic_duck.oschina.io/img/avatar.jpg" data-title="微博">
          <i class="icon icon-weibo"></i>
        </a>
      </li>
      <li>
        <a class="weixin share-sns wxFab" href="javascript:;" data-title="微信">
          <i class="icon icon-weixin"></i>
        </a>
      </li>
      <li>
        <a class="qq share-sns" target="_blank" href="http://connect.qq.com/widget/shareqq/index.html?url=http://magic_duck.oschina.io/2017/09/06/redis4.4.0_primary_03/&title=《Redis持久化方案》 — 神奇的鸭鸭の码农库&source=" data-title=" QQ">
          <i class="icon icon-qq"></i>
        </a>
      </li>
      <li>
        <a class="facebook share-sns" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=http://magic_duck.oschina.io/2017/09/06/redis4.4.0_primary_03/" data-title=" Facebook">
          <i class="icon icon-facebook"></i>
        </a>
      </li>
      <li>
        <a class="twitter share-sns" target="_blank" href="https://twitter.com/intent/tweet?text=《Redis持久化方案》 — 神奇的鸭鸭の码农库&url=http://magic_duck.oschina.io/2017/09/06/redis4.4.0_primary_03/&via=http://magic_duck.oschina.io" data-title=" Twitter">
          <i class="icon icon-twitter"></i>
        </a>
      </li>
      <li>
        <a class="google share-sns" target="_blank" href="https://plus.google.com/share?url=http://magic_duck.oschina.io/2017/09/06/redis4.4.0_primary_03/" data-title=" Google+">
          <i class="icon icon-google-plus"></i>
        </a>
      </li>
    </ul>
 </div>


<div class="page-modal wx-share" id="wxShare">
    <a class="close" href="javascript:;"><i class="icon icon-close"></i></a>
    <p>扫一扫，分享到微信</p>
    <img src="//api.qrserver.com/v1/create-qr-code/?data=http://magic_duck.oschina.io/2017/09/06/redis4.4.0_primary_03/" alt="微信分享二维码">
</div>




    <script src="//cdn.bootcss.com/node-waves/0.7.4/waves.min.js"></script>
<script>
var BLOG = { ROOT: '/', SHARE: true, REWARD: true };



lazyScripts.push('//s95.cnzz.com/z_stat.php?id=1261081671&web_id=1261081671')

</script>

<script src="/js/main.min.js?v=1.4.3"></script>


<div class="search-panel" id="search-panel">
    <ul class="search-result" id="search-result"></ul>
</div>
<template id="search-tpl">
<li class="item">
    <a href="{path}" class="waves-block waves-effect">
        <div class="title ellipsis" title="{title}">{title}</div>
        <div class="flex-row flex-middle">
            <div class="tags ellipsis">
                {tags}
            </div>
            <time class="flex-col time">{date}</time>
        </div>
    </a>
</li>
</template>

<script src="/js/search.min.js?v=1.4.3" async></script>






<script async src="//dn-lbstatics.qbox.me/busuanzi/2.3/busuanzi.pure.mini.js"></script>


</body>
</html>
